package org.linlinjava.litemall.db.service;

import org.linlinjava.litemall.db.dao.AgedmallStoreGoodsMapper;
import org.linlinjava.litemall.db.dao.app.AppGoodsMapper;
import org.linlinjava.litemall.db.domain.AgedmallStoreGoods;
import org.linlinjava.litemall.db.vo.app.StoreGoodsProductVo;
import org.linlinjava.litemall.db.vo.app.StoreGoodsVo;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

@Service
public class AgedmallStoreGoodsService {

    @Resource
    private AgedmallStoreGoodsMapper agedmallStoreGoodsMapper;
    @Resource
    private AppGoodsMapper appGoodsMapper;

    public AgedmallStoreGoods getById(Long id) {
        return agedmallStoreGoodsMapper.selectByPrimaryKey(id);
    }

    public StoreGoodsVo getStoreGoodsById(Integer id) {
        return appGoodsMapper.getStoreGoodsById(id);
    }
    public List<StoreGoodsVo> getStoreGoodsListByIds(List<Integer> ids) {
        if(ids.size() == 0) {
            return new ArrayList<>();
        }
        return appGoodsMapper.getStoreGoodsListByIds(ids);
    }
    public StoreGoodsVo getStoreGoodsByGoodsId(Integer goodsId, Integer storeId) {
        return appGoodsMapper.getStoreGoodsByGoodsId(goodsId, storeId);
    }

    public List<StoreGoodsProductVo> getStoreGoodsProductList(Integer storeId, Integer goodsId, String type) {
        return appGoodsMapper.getStoreGoodsProductList(storeId, goodsId, type);
    }

    public StoreGoodsProductVo getStoreGoodsProduct(Integer storeId, Integer goodsId, Integer productId) {
        return appGoodsMapper.getStoreGoodsProduct(storeId, goodsId, productId);
    }

    public List<StoreGoodsProductVo> getStoreGoodsProductListByProductIds(List<Integer> productIdList) {
        if(productIdList.size() == 0) {
            return new ArrayList<>();
        }
        return appGoodsMapper.getStoreGoodsProductListByProductIds(productIdList);
    }

    public StoreGoodsProductVo getStoreGoodsProductById(Integer storeProductId) {
        return appGoodsMapper.getStoreGoodsProductById(storeProductId);
    }

    public List<StoreGoodsVo> getStoreGoodsByGoodsIdAndLngLat(Integer goodsId, BigDecimal lng, BigDecimal lat, String city,List<Integer> hospitalStoreList) {
        return appGoodsMapper.getStoreGoodsByGoodsIdAndLngLat(goodsId, lng, lat, city,hospitalStoreList);

    }
}
